package Logica.TanqueCombustible;

import java.util.Random;

import Logica.Grilla.Grilla;

public class TanqueCombustible {
	protected int capacidad;
	protected int cantidadActual;
	protected Grilla grilla; 
	
	/**
	 * Crea una nueva instancia de tanque combustible. con cantidad 100 y capacidad maxima 150
	 *
	 * @param grilla
	 */
	public TanqueCombustible( Grilla grilla ) {
		capacidad = 150;
		cantidadActual = 100;
		this.grilla = grilla;
	}
	
	/**
	 * Reducir combustible. reduce el combustible tanto como le indique
	 *  el gasto del piso donde esta situado el robot
	 */
	public void reducirCombustible() {
		cantidadActual -= grilla.obtenerCeldaActual().obtenerPiso().gasto_de_combustible();
	}
	
	/**
	 * Agregar combustible. Agrega un numero aleatorio de combustible entre 0 y 50
	 */
	public void agregarCombustible() {
		Random ran = new Random();
		
		int canti=ran.nextInt(51);
		if (cantidadActual+canti<=capacidad) {
			cantidadActual+=canti;
		} else {
			cantidadActual=capacidad;
		}
	}
	
	/**
	 * Obtener capacidad.
	 *
	 * @return int
	 */
	public int obtenerCapacidad() {
		return ( capacidad );
	}
	
	/**
	 * Esta vacio.
	 *
	 * @return verdadero si Esta vacio, falso en caso contrario
	 */
	public boolean estaVacio() {
		return ( cantidadActual == 0 );
	}
	
	/**
	 * Obtener cantidad actual.
	 *
	 * @return int
	 */
	public int obtenerCantidadActual() {
		return ( cantidadActual );
	}
}
